package com.ruoyi.borrowing.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 借阅管理对象 borrowing
 * 
 * @author ynnz
 * @date 2025-05-24
 */
public class Borrowing extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 借阅记录ID */
    private String borrowId;

    /** 借阅人姓名 */
    @Excel(name = "借阅人姓名")
    private String borrowerName;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String contactPhone;

    /** 邮箱 */
    @Excel(name = "邮箱")
    private String borrowerEmail;

    /** 读者类型 */
    @Excel(name = "读者类型")
    private String readerType;

    /** 借阅图书名称 */
    @Excel(name = "借阅图书名称")
    private String bookTitle;

    /** 借阅图书价格 */
    @Excel(name = "借阅图书价格")
    private BigDecimal bookPrice;

    /** 借阅日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "借阅日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date borrowDate;

    /** 应还日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "应还日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dueDate;

    /** 实际归还日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际归还日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date returnDate;

    /** 借阅状态 */
    @Excel(name = "借阅状态")
    private String borrowStatus;

    public void setBorrowId(String borrowId) 
    {
        this.borrowId = borrowId;
    }

    public String getBorrowId() 
    {
        return borrowId;
    }
    public void setBorrowerName(String borrowerName) 
    {
        this.borrowerName = borrowerName;
    }

    public String getBorrowerName() 
    {
        return borrowerName;
    }
    public void setContactPhone(String contactPhone) 
    {
        this.contactPhone = contactPhone;
    }

    public String getContactPhone() 
    {
        return contactPhone;
    }
    public void setBorrowerEmail(String borrowerEmail) 
    {
        this.borrowerEmail = borrowerEmail;
    }

    public String getBorrowerEmail() 
    {
        return borrowerEmail;
    }
    public void setReaderType(String readerType) 
    {
        this.readerType = readerType;
    }

    public String getReaderType() 
    {
        return readerType;
    }
    public void setBookTitle(String bookTitle) 
    {
        this.bookTitle = bookTitle;
    }

    public String getBookTitle() 
    {
        return bookTitle;
    }
    public void setBookPrice(BigDecimal bookPrice) 
    {
        this.bookPrice = bookPrice;
    }

    public BigDecimal getBookPrice() 
    {
        return bookPrice;
    }
    public void setBorrowDate(Date borrowDate) 
    {
        this.borrowDate = borrowDate;
    }

    public Date getBorrowDate() 
    {
        return borrowDate;
    }
    public void setDueDate(Date dueDate) 
    {
        this.dueDate = dueDate;
    }

    public Date getDueDate() 
    {
        return dueDate;
    }
    public void setReturnDate(Date returnDate) 
    {
        this.returnDate = returnDate;
    }

    public Date getReturnDate() 
    {
        return returnDate;
    }
    public void setBorrowStatus(String borrowStatus) 
    {
        this.borrowStatus = borrowStatus;
    }

    public String getBorrowStatus() 
    {
        return borrowStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("borrowId", getBorrowId())
            .append("borrowerName", getBorrowerName())
            .append("contactPhone", getContactPhone())
            .append("borrowerEmail", getBorrowerEmail())
            .append("readerType", getReaderType())
            .append("bookTitle", getBookTitle())
            .append("bookPrice", getBookPrice())
            .append("borrowDate", getBorrowDate())
            .append("dueDate", getDueDate())
            .append("returnDate", getReturnDate())
            .append("borrowStatus", getBorrowStatus())
            .append("createTime", getCreateTime())
            .toString();
    }
}
